#pragma once

#include "AbstractButton.h"
#include "PlainTexture.h"

namespace game_engine { namespace gui
{

/*!
 * \class CheckBox
 * \brief 
 */
class CheckBox : public AbstractButton
{
///////////////////////////////////////////////////////////////////////////////
// Attribute definition
///////////////////////////////////////////////////////////////////////////////
private:
    components::PlainTexture *_uncheckedTexture;
    components::PlainTexture *_checkedTexture;

///////////////////////////////////////////////////////////////////////////////
// Method definition
///////////////////////////////////////////////////////////////////////////////
public:
    // Constructors and Destructors
    CheckBox(void);
    CheckBox(Scene *scene, const string &name, const string &tag, 
        const DrawLevelType drawLevel);
    virtual ~CheckBox(void);

    // Others
    virtual void update(const FLOAT32 time);

};

}}
